import { IMessageBase } from "../../Framework/MQ/IMessageBase";
import { MessageManager } from "../../Framework/MQ/MessageManager";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { SeqQuestionFuncHelper } from "./SeqQuestionFuncHelper";
type int = number;
//class SQuestionPlayerInfo
    
    export  class SQuestionPlayerInfo extends IMessageBase
    {
        constructor(arg1: Boolean=false)
        {
            
            super();if (arg1) 
            {
                MessageManager.instance().regist(this);
            }
            return;
        }

        public /* override */ getType(): int
        {
            return this._type;
        }

        public /* override */ clone(): IMessageBase
        {
            return new SQuestionPlayerInfo();
        }

        public /* override */ __write(arg1: SerializeStream): void
        {
            arg1.writeInt(this.serialNum);
            arg1.writeInt(this.right);
            arg1.writeInt(this.mark);
            SeqQuestionFuncHelper.write(arg1, this.funcs);
            arg1.writeInt(this.answerNum);
            arg1.writeInt(this.thisMark);
            arg1.writeBool(this.isDouble);
            arg1.writeInt(this.totalNum);
            return;
        }

        public /* override */ __read(arg1: SerializeStream): void
        {
            this.serialNum = arg1.readInt();
            this.right = arg1.readInt();
            this.mark = arg1.readInt();
            this.funcs = SeqQuestionFuncHelper.read(arg1);
            this.answerNum = arg1.readInt();
            this.thisMark = arg1.readInt();
            this.isDouble = arg1.readBool();
            this.totalNum = arg1.readInt();
            return;
        }

        public /* const */_type: int=20454;

        public /* var */serialNum: int;

        public /* var */right: int;

        public /* var */mark: int;

        public /* var */funcs: Array<any>;

        public /* var */answerNum: int;

        public /* var */thisMark: int;

        public /* var */isDouble: Boolean;

        public /* var */totalNum: int;

        public static /* var */_regist: SQuestionPlayerInfo;
    }

            SQuestionPlayerInfo._regist = new SQuestionPlayerInfo(true);
        